#ifndef RENDERER_H
#define RENDERER_H
#include <SDL.h>
#include <SDL_ttf.h>
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
class GameObject;
class Renderer
{
public:
	Renderer(void);
	~Renderer(void);

	void Initialize(void);
	void Shutdown(void);

	SDL_Texture*	LoadTexture(const char* path);
	void			FreeTexture(SDL_Texture* texture);
	void DrawObject(GameObject& object);
	void DrawBackground(SDL_Texture* background);
	void PrintText(const char* text, int x, int y, int size);
	void Render(void);
	void Clear(void);

	bool IsInitialized(void);

	static Renderer& GetInstance(void);
	SDL_Renderer* GetRenderer(void);
private:

	bool			m_initialized;
	SDL_Window*		m_mainWindow;
	SDL_Renderer*	m_renderer;
	TTF_Font*		m_font;
};
#endif